package com.xk857.simpleeffect.utils;

import java.util.Calendar;
import java.util.Date;

import cn.hutool.core.date.DateUtil;

public class MyDateUtils {

    /**
     * 将文本日期转换成今天、明天、月日的形式
     *
     * @param dateText yyyyMMdd格式
     */
    public static String formatStringDate(String dateText) {
        Date date = DateUtil.parse(dateText, "yyyyMMdd");
        return formatDate(date);
    }

    /**
     * 将文本日期转换成今天、明天、月日的形式
     *
     * @param date date类型
     */
    public static String formatDate(Date date) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        Calendar today = Calendar.getInstance();
        int days = (int) ((calendar.getTimeInMillis() - today.getTimeInMillis()) / (1000 * 3600 * 24));

        if (days == 0) {
            return "今天";
        } else if (days == -1) {
            return "昨天";
        } else if (days == -2) {
            return "前天";
        } else if (days == 1) {
            return "明天";
        } else if (days == 2) {
            return "后天";
        } else {
            if (DateUtil.year(date) == DateUtil.year(new Date())) {
                return DateUtil.format(date, "MM月dd日");
            } else {
                return DateUtil.format(date, "yyyy-MM-dd ");
            }
        }
    }

    /**
     * 文本类型日期，转换成另一种格式
     * @param startTime yyyyMMdd类型
     */
    public static String formatByText(String startTime, String format) {
        Date date = DateUtil.parse(startTime, "yyyyMMdd");
        return DateUtil.format(date, format);
    }
}
